---
import Layout from "../layouts/Layout.astro";

const algorithms = [
  { name: "LZMA", description: "改良与优化后的 LZ77 算法" },
  { name: "LZMA2", description: "改良的 LZMA 算法" },
  { name: "PPMD", description: "基于 Dmitry Shkarin 的 PPMdH 算法" },
  { name: "BCJ", description: "32 位 x86 可执行文件转换程序" },
  { name: "BCJ2", description: "32 位 x86 可执行文件转换程序" },
  { name: "BZip2", description: "标准 BWT 算法" },
  { name: "Deflate", description: "标准 LZ77-based 算法" },
];

const title = "7z 格式";
---

<Layout title={title} currentPage="7z">
  <h1>{title}</h1>

  <p><b>7z</b> 是一种全新的压缩格式，它拥有极高的压缩比。</p>

  <p><b>7z</b> 格式的主要特征：</p>
  <ul>
    <li>开放的结构</li>
    <li>高压缩比</li>
    <li>强大的 AES-256 加密</li>
    <li>能够兼容任意压缩、转换、加密算法</li>
    <li>最高支持 16000000000 GB 的文件压缩</li>
    <li>以 Unicode 为标准的文件名</li>
    <li>支持固实压缩</li>
    <li>支持文件头压缩</li>
  </ul>

  <p>
    <b>7z</b> 已公开了结构编辑功能，所以它可以支持任何一种新的压缩算法。到目前为止，下列压缩算法已被整合到了
    <b>7z</b> 中：
  </p>

  <table cellspacing="2" cellpadding="4">
    <tr>
      <th class="Title" style="width: 60px;">压缩算法</th>
      <th class="Title">备注</th>
    </tr>
    {
      algorithms.map((algo) => (
        <tr>
          <td class="Item">{algo.name}</td>
          <td class="Item">{algo.description}</td>
        </tr>
      ))
    }
  </table>

  <p>
    <b>LZMA</b> 算法是 <b>7z</b> 格式的默认算法。<b>LZMA</b> 算法具有以下主要特征：
  </p>
  <ul>
    <li>高压缩比</li>
    <li>可变字典大小（最大 4 GB）</li>
    <li>压缩速度：运行于 2 GHz 的处理器可达到 1 MB/秒</li>
    <li>解压缩速度：运行于 2 GHz 的处理器可达到 10-20 MB/秒</li>
    <li>较小的解压缩内存需求（取决于字典大小）</li>
    <li>较小的解压缩代码：约 5 KB</li>
    <li>支持 Pentium 4 的超线程（Hyper-Threading）技术及多处理器</li>
  </ul>

  <p>
    <b>LZMA</b> 压缩算法非常适于应用程序的内嵌。<b>LZMA</b> 发布于 GNU LGPL 许可协议之下，如果您想使用
    <b>LZMA</b> 的代码，您可以通过 <a href="support.html"
      >发送信息到 LZMA 开发部</a
    > 来咨询和自定义设计代码及制定开发者的使用许可。您也可以点击此处来查看有关 LZMA
    SDK 的信息： <a href="sdk.html">LZMA SDK</a>.
  </p>

  <!--
  <P>7-Zip also supports encryption with AES-256 algorithm.
  This algorithm uses cipher key with length of 256 bits. To create that key 7-Zip
  uses derivation function based on SHA-256 hash algorithm.
  A key derivation function produces a derived key from text password defined by user.
  For increasing the cost of exhaustive search for passwords 7-Zip uses big number
  of iterations to produce cipher key from text password.</P>
  -->

  <p>
    <b>7z</b> 是 <a href="./">7-Zip</a> 发布于 GNU LGPL 许可下的子程序。您可从 <a
      href="download.html">下载页面</a
    > 下载 <b>7-Zip</b> 的源代码。
  </p>

  <p>
    支持 <b>7z</b> 压缩格式的应用程序：WinRAR、PowerArchiver、TUGZip、IZArc。
  </p>

  <p>相关链接：</p>
  <ul>
    <li><a href="https://en.wikipedia.org/wiki/7z">Wikipedia 的 7z 页面</a></li>
  </ul>
</Layout>
